/** * Write a description of class AnnualFuelUseTester here. * * @author Bijan Tajmir * @version 11/12/14 */ import java.io.*; import java.text.*; import java.util.*; public class AnnualFuelUseTesterV2 { public static void main(String[] args) { System.out.printf("%s \n","Fill Up Days Start Miles End Miles Distance Gallons Used MPG Price Cost "); double disMax, disMin, disSum, mpgMax, mpgMin, mpgSum, priceMax, priceMin, priceSum, absMax, absMin, costSum, daySum, gallonsSum; disSum = 0.0; disMax = 0.0; disMin = 0.0; mpgMax = 0.0; mpgMin = 0.0; mpgSum = 0.0; priceMax = 0.0; priceMin = 0.0; priceSum = 0.0; costSum = 0.0; daySum = 0.0; gallonsSum = 0.0; AnnualFuelUseV2[] fillups = { new AnnualFuelUseV2(1, 1, 45023, 45231, 10.00, 2.95), new AnnualFuelUseV2(2, 4, 45231, 45480, 11.70, 2.99), new AnnualFuelUseV2(3, 8, 45480, 45659, 9.30, 3.03), new AnnualFuelUseV2(4, 13, 45659, 45961, 14.90, 3.01) }; //call methods for(int i = 0; i < fillups.length; i++) { fillups[i].calcDistance(); fillups[i].calcMPG(); fillups[i].calcCost(); } //print the results for(int i = 0; i < fillups.length; i++) { System.out.printf("%3s %9s %11s %12s %10.0f %13.2f %8.1f %7.2f %6.2f \n", fillups[i].getFill(), fillups[i].getDay(), fillups[i].getStart(), fillups[i].getEnd(), fillups[i].getDistance(), fillups[i].getGallons(), fillups[i].getMPG(), fillups[i].getPrice(), fillups[i].getCost()); } //calculate totals for printing and calculating min and max for(int i = 0; i < fillups.length; i++) { disSum += fillups[i].getDistance(); mpgSum += fillups[i].getMPG(); priceSum += fillups[i].getPrice(); costSum += fillups[i].getCost(); daySum += fillups[i].getDay(); gallonsSum += fillups[i].getGallons(); } //calculate min and max absMax = Double.MIN_VALUE; absMin = Double.MAX_VALUE; mpgMax = absMax; mpgMin = absMin; disMax = absMax; disMin = absMin; priceMax = absMax; priceMin = absMin; for(int i = 0; i < fillups.length; i++) { if((fillups[i].getDistance()) > disMax) { disMax = fillups[i].getDistance(); } if((fillups[i].getDistance()) < disMin) { disMin = fillups[i].getDistance(); } if((fillups[i].getMPG()) > mpgMax) { mpgMax = fillups[i].getMPG(); } if((fillups[i].getMPG()) < mpgMin) { mpgMin = fillups[i].getMPG(); } if((fillups[i].getPrice()) > priceMax) { priceMax = fillups[i].getPrice(); } if((fillups[i].getPrice()) < priceMin) { priceMin = fillups[i].getPrice(); } } //print the max and min System.out.println(); System.out.printf("%s %40.0f %22.1f %7.2f \n", "Minimum:", disMin, mpgMin, priceMin); System.out.printf("%s %40.0f %22.1f %7.2f \n", "Maximum:", disMax, mpgMax, priceMax); System.out.println(); //print total System.out.printf("%s %41.0f %13.2f %23.2f \n", "Totals:", disSum, gallonsSum, costSum); //calculate annual projections double distanceProjection, gallonsusedProjection, mpgProjection, costProjection; double a = 31 / daySum; a *= 12; distanceProjection = a * disSum; gallonsusedProjection = a * gallonsSum; mpgProjection = a * mpgSum; costProjection = a * costSum; //print annual projection System.out.printf("%s %30.0f %13.2f %8.2f %14.2f \n", "Annual Projection:", distanceProjection, gallonsusedProjection, mpgProjection, costProjection); } }